package exception;

/**
 * 异常 : 就是错误的另外一种说法
 * 
 * 鲁棒性 : 就是系统的健壮性
 * 
 * 下面代码,报错的地方,会终止程序生命周期执行
 * 
 * 异常分两种 : 编译时和运行时,在执行 javac 命令出错,是编译时,执行 java 命令出错,是运行时 在 eclipse
 * 中没有运行就报错,就是编译时
 * 
 * 在 java 中有一个专门模拟所有异常和错误的类( Throwable ) 所有的异常类都必须继承这个类
 * 
 * 异常机制的处理形式 
 * 		try...catch...:一般用在客户端 
 * 		throws : 一般用在类库段 
 * 		throw : 异常源点 , 起点
 * 
 * 不同的异常机制的选择 : 
 * 		1.有些错误我们不想处理,或者没办法处理(这个通常就是在类库中),这个时候就把错误信息交给调用人员,这种情况,直接使用 throws 
 * 		2.我们能够处理的,就 try...catch...(一般在客户端,main)
 * 
 * finally语句块: 必须执行的语句块,有必须要执行的代码,可以放到 finally 中
 * 
 * Throwable 异常类的祖类 
 * 		Exception : 直接子类都是编译时异常,只有一个 RunTimeException 是运行时异常 
 * 		Error :系统内部错误,比如栈内存溢出,虚拟机错误等等,这种情况 JVM 会选择终止程序,不需要我们操作
 * 
 * 语法 : 
 * 		try{ 
 * 			高风险代码段; 
 * 		}catch(异常类型 变量){ 
 * 			错误的处理机制
 *  	}
 * 
 * @author lenovo
 * @Date 2020年7月14日
 * @Time 下午5:47:42
 */
public class Exception_00 {

	public static void main(String[] args) {
		int a = 10;
		int b = 0;
//		 java.lang.ArithmeticException: / by zero
		System.out.println(a / b);
		System.out.println("-----");
	}
}
